

package net.qiqbframework.commandhandling;

/**
 *
 */
public abstract class DuplicateCommandHandlerResolution {
    private DuplicateCommandHandlerResolution() {
    }


    public static DuplicateCommandHandlerResolver logAndOverride() {
        return LoggingDuplicateCommandHandlerResolver.instance();
    }


    public static DuplicateCommandHandlerResolver rejectDuplicates() {
        return FailingDuplicateCommandHandlerResolver.instance();
    }


    public static DuplicateCommandHandlerResolver silentOverride() {
        return (cmd, first, second) -> second;
    }
}
